

<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
    <style>
    /* base */
    html,
    body,
    .container {
      width: 100%;
      height: 100%;
    }

    a,
    a:link,
    a:visited {
      text-decoration: none;
      color: inherit;
    }

    ul {
      list-style: none;
    }

    *,
    ::before,
    ::after {
      box-sizing: border-box;
      margin: 0;
      padding: 0;
    }

    *:focus {
      outline: 0;
    }

    .container {
      display: flex;
      padding-top: 20px;
    }

    /* Nav */
    .container .doc-nav {
      position: fixed;
      height: 100%;
      margin: 0 30px 0 40px;
      width: 280px;
    }

    .doc-nav .nav-header {
      display: flex;
      align-items: center;
      box-sizing: border-box;
      background-color: rgb(240, 241, 242);
      height: 40px;
      padding: 16px;
      font-size: 18px;
      font-weight: 500;
      color: rgb(62, 64, 66);
      cursor: pointer;
    }

    .doc-nav .nav-content {
      height: calc(100% - 40px);
      overflow-y: auto;
      color: rgb(32, 34, 36);
    }

    .doc-nav .nav-content .nav-list,
    .doc-nav .nav-content .nav-sub-list {
      line-height: 1.5rem;
    }

    .doc-nav .nav-content .nav-label {
      display: inline-block;
      position: relative;
      padding: 2px 0 2px 20px;
      margin-bottom: 4px;
    }

    .doc-nav .nav-content .nav-sub-label {
      position: relative;
      padding: 2px 0 2px 40px;
      font-size: 14px;
    }

    .doc-nav .nav-content .nav-sub-label:hover {
      text-decoration: underline;
    }

    .doc-nav .nav-content .nav-list .nav-label.group::before {
      border-bottom: 0.25rem solid transparent;
      border-left: 0.25rem solid #6e7072;
      border-right: 0;
      border-top: 0.25rem solid transparent;
      content: '';
      display: block;
      height: 0;
      left: 0.5rem;
      position: absolute;
      top: 0.625rem;
      transition: transform 0.1s linear;
      width: 0;
    }

    .doc-nav .nav-content .nav-list .nav-label.group.active::before {
      transform: rotate(90deg);
    }

    /* doc content */
    .container .doc-content {
      position: fixed;
      height: 100%;
      width: calc(100% - 80px - 40px - 30px - 240px);
      right: 0%;
      overflow-y: auto;
    }

    .doc-title {
      border-bottom: 1px solid #dcdee0;
      font-size: 22px;
      margin: 8px 0 0;
      padding-bottom: 16px;
    }

    .doc-content h3 {
      font-size: 24px;
      font-weight: 600;
      margin: 24px 0;
    }

    .doc-content h4 {
      font-size: 22px;
      font-weight: 500;
      margin: 30px 0 8px;
    }

    .doc-content h4 span {
      color: #007d9c;
    }

    .doc-content .doc-declare {
      background-color: #fafafa;
      border-radius: 5px;
      border: 1px solid #ccc;
      font-size: 14px;
      overflow-x: auto;
      padding: 10px;
      tab-size: 4;
      line-height: 20px;
    }

    .doc-content .doc-comment {
      font-size: 16px;
      margin: 16px 0;
      line-height: 24px;
      word-break: break-word;
    }
  </style>

</head>
<body>
  <div class="container">
    <div class="doc-nav">
      <a href="#Documentation" class="nav-header">Documentation</a>
      <nav class="nav-content">
        <ul class="nav-list">
          <li>
            <a href="#includes" class="nav-label">Includes</a>
             
            <ul class="nav-sub-list">

              <li>
                <a href="#netif/ppp/ppp_opts.h" class="nav-sub-label">netif/ppp/ppp_opts.h</a>
              </li>
      
            </ul>
            
          </li>
          <li>
            <a href="#macros" class="nav-label">Macros</a>
             
            <ul class="nav-sub-list">

              <li>
                <a href="#CCP_H" class="nav-sub-label">CCP_H</a>
              </li>
      

              <li>
                <a href="#CCP_CONFREQ" class="nav-sub-label">CCP_CONFREQ</a>
              </li>
      

              <li>
                <a href="#CCP_CONFACK" class="nav-sub-label">CCP_CONFACK</a>
              </li>
      

              <li>
                <a href="#CCP_TERMREQ" class="nav-sub-label">CCP_TERMREQ</a>
              </li>
      

              <li>
                <a href="#CCP_TERMACK" class="nav-sub-label">CCP_TERMACK</a>
              </li>
      

              <li>
                <a href="#CCP_RESETREQ" class="nav-sub-label">CCP_RESETREQ</a>
              </li>
      

              <li>
                <a href="#CCP_RESETACK" class="nav-sub-label">CCP_RESETACK</a>
              </li>
      

              <li>
                <a href="#CCP_MAX_OPTION_LENGTH" class="nav-sub-label">CCP_MAX_OPTION_LENGTH</a>
              </li>
      

              <li>
                <a href="#CCP_CODE(dp)" class="nav-sub-label">CCP_CODE(dp)</a>
              </li>
      

              <li>
                <a href="#CCP_ID(dp)" class="nav-sub-label">CCP_ID(dp)</a>
              </li>
      

              <li>
                <a href="#CCP_LENGTH(dp)" class="nav-sub-label">CCP_LENGTH(dp)</a>
              </li>
      

              <li>
                <a href="#CCP_HDRLEN" class="nav-sub-label">CCP_HDRLEN</a>
              </li>
      

              <li>
                <a href="#CCP_OPT_CODE(dp)" class="nav-sub-label">CCP_OPT_CODE(dp)</a>
              </li>
      

              <li>
                <a href="#CCP_OPT_LENGTH(dp)" class="nav-sub-label">CCP_OPT_LENGTH(dp)</a>
              </li>
      

              <li>
                <a href="#CCP_OPT_MINLEN" class="nav-sub-label">CCP_OPT_MINLEN</a>
              </li>
      

              <li>
                <a href="#CI_BSD_COMPRESS" class="nav-sub-label">CI_BSD_COMPRESS</a>
              </li>
      

              <li>
                <a href="#CILEN_BSD_COMPRESS" class="nav-sub-label">CILEN_BSD_COMPRESS</a>
              </li>
      

              <li>
                <a href="#BSD_NBITS(x)" class="nav-sub-label">BSD_NBITS(x)</a>
              </li>
      

              <li>
                <a href="#BSD_VERSION(x)" class="nav-sub-label">BSD_VERSION(x)</a>
              </li>
      

              <li>
                <a href="#BSD_CURRENT_VERSION" class="nav-sub-label">BSD_CURRENT_VERSION</a>
              </li>
      

              <li>
                <a href="#BSD_MAKE_OPT(v, n)" class="nav-sub-label">BSD_MAKE_OPT(v, n)</a>
              </li>
      

              <li>
                <a href="#BSD_MIN_BITS" class="nav-sub-label">BSD_MIN_BITS</a>
              </li>
      

              <li>
                <a href="#BSD_MAX_BITS" class="nav-sub-label">BSD_MAX_BITS</a>
              </li>
      

              <li>
                <a href="#CI_DEFLATE" class="nav-sub-label">CI_DEFLATE</a>
              </li>
      

              <li>
                <a href="#CI_DEFLATE_DRAFT" class="nav-sub-label">CI_DEFLATE_DRAFT</a>
              </li>
      

              <li>
                <a href="#CILEN_DEFLATE" class="nav-sub-label">CILEN_DEFLATE</a>
              </li>
      

              <li>
                <a href="#DEFLATE_MIN_SIZE" class="nav-sub-label">DEFLATE_MIN_SIZE</a>
              </li>
      

              <li>
                <a href="#DEFLATE_MAX_SIZE" class="nav-sub-label">DEFLATE_MAX_SIZE</a>
              </li>
      

              <li>
                <a href="#DEFLATE_METHOD_VAL" class="nav-sub-label">DEFLATE_METHOD_VAL</a>
              </li>
      

              <li>
                <a href="#DEFLATE_SIZE(x)" class="nav-sub-label">DEFLATE_SIZE(x)</a>
              </li>
      

              <li>
                <a href="#DEFLATE_METHOD(x)" class="nav-sub-label">DEFLATE_METHOD(x)</a>
              </li>
      

              <li>
                <a href="#DEFLATE_MAKE_OPT(w)" class="nav-sub-label">DEFLATE_MAKE_OPT(w)</a>
              </li>
      

              <li>
                <a href="#DEFLATE_CHK_SEQUENCE" class="nav-sub-label">DEFLATE_CHK_SEQUENCE</a>
              </li>
      

              <li>
                <a href="#CI_MPPE" class="nav-sub-label">CI_MPPE</a>
              </li>
      

              <li>
                <a href="#CILEN_MPPE" class="nav-sub-label">CILEN_MPPE</a>
              </li>
      

              <li>
                <a href="#CI_PREDICTOR_1" class="nav-sub-label">CI_PREDICTOR_1</a>
              </li>
      

              <li>
                <a href="#CILEN_PREDICTOR_1" class="nav-sub-label">CILEN_PREDICTOR_1</a>
              </li>
      

              <li>
                <a href="#CI_PREDICTOR_2" class="nav-sub-label">CI_PREDICTOR_2</a>
              </li>
      

              <li>
                <a href="#CILEN_PREDICTOR_2" class="nav-sub-label">CILEN_PREDICTOR_2</a>
              </li>
      
            </ul>
            
          </li>
          <li>
            <a href="#functions" class="nav-label">Functions</a>
             
            <ul class="nav-sub-list">

              <li>
                <a href="#ccp_resetrequest" class="nav-sub-label">ccp_resetrequest</a>
              </li>
      
            </ul>
            
          </li>
          <li>
            <a href="#vars" class="nav-label">Vars</a>
            
            <ul class="nav-sub-list">
            
            </ul>
            
          </li>
          <li>
            <a href="#consts" class="nav-label">Consts</a>
            
            <ul class="nav-sub-list">
            
            </ul>
            
          </li>
          <li>
            <a href="#types" class="nav-label">Types</a>
            
            <ul class="nav-sub-list">
            
            </ul>
            
          </li>
          <li>
            <a href="#typedefs" class="nav-label">Typedefs</a>
             
            <ul class="nav-sub-list">

              <li>
                <a href="#ccp_options;
" class="nav-sub-label">ccp_options;
</a>
              </li>
      
            </ul>
            
          </li>
        </ul>
      </nav>
    </div>
    <div class="doc-content">
      <h2 id="Documentation" class="doc-title">Documentation</h2>
      <h3 id="includes">Includes</h3>
      

      <h4 id="netif/ppp/ppp_opts.h"><span>netif/ppp/ppp_opts.h</span></h4>
      <pre class="doc-declare"><code>#include "netif/ppp/ppp_opts.h"
</code></pre>
      <pre class="doc-comment">#include "netif/ppp/ppp_opts.h"
</pre>
      <h3 id="macros">Macros</h3>
      

      <h4 id="CCP_H">Marco <span>CCP_H</span></h4>
      <pre class="doc-declare"><code>#define CCP_H
</code></pre>
      <pre class="doc-comment"></pre>

      <h4 id="CCP_CONFREQ">Marco <span>CCP_CONFREQ</span></h4>
      <pre class="doc-declare"><code>#define CCP_CONFREQ 1
</code></pre>
      <pre class="doc-comment"></pre>

      <h4 id="CCP_CONFACK">Marco <span>CCP_CONFACK</span></h4>
      <pre class="doc-declare"><code>#define CCP_CONFACK 2
</code></pre>
      <pre class="doc-comment"></pre>

      <h4 id="CCP_TERMREQ">Marco <span>CCP_TERMREQ</span></h4>
      <pre class="doc-declare"><code>#define CCP_TERMREQ 5
</code></pre>
      <pre class="doc-comment"></pre>

      <h4 id="CCP_TERMACK">Marco <span>CCP_TERMACK</span></h4>
      <pre class="doc-declare"><code>#define CCP_TERMACK 6
</code></pre>
      <pre class="doc-comment"></pre>

      <h4 id="CCP_RESETREQ">Marco <span>CCP_RESETREQ</span></h4>
      <pre class="doc-declare"><code>#define CCP_RESETREQ 14
</code></pre>
      <pre class="doc-comment"></pre>

      <h4 id="CCP_RESETACK">Marco <span>CCP_RESETACK</span></h4>
      <pre class="doc-declare"><code>#define CCP_RESETACK 15
</code></pre>
      <pre class="doc-comment"></pre>

      <h4 id="CCP_MAX_OPTION_LENGTH">Marco <span>CCP_MAX_OPTION_LENGTH</span></h4>
      <pre class="doc-declare"><code>#define CCP_MAX_OPTION_LENGTH 32
</code></pre>
      <pre class="doc-comment"></pre>

      <h4 id="CCP_CODE(dp)">Marco <span>CCP_CODE(dp)</span></h4>
      <pre class="doc-declare"><code>#define CCP_CODE(dp)	((dp)[0])
</code></pre>
      <pre class="doc-comment"></pre>

      <h4 id="CCP_ID(dp)">Marco <span>CCP_ID(dp)</span></h4>
      <pre class="doc-declare"><code>#define CCP_ID(dp)	((dp)[1])
</code></pre>
      <pre class="doc-comment"></pre>

      <h4 id="CCP_LENGTH(dp)">Marco <span>CCP_LENGTH(dp)</span></h4>
      <pre class="doc-declare"><code>#define CCP_LENGTH(dp)	(((dp)[2] << 8) + (dp)[3])
</code></pre>
      <pre class="doc-comment"></pre>

      <h4 id="CCP_HDRLEN">Marco <span>CCP_HDRLEN</span></h4>
      <pre class="doc-declare"><code>#define CCP_HDRLEN	4
</code></pre>
      <pre class="doc-comment"></pre>

      <h4 id="CCP_OPT_CODE(dp)">Marco <span>CCP_OPT_CODE(dp)</span></h4>
      <pre class="doc-declare"><code>#define CCP_OPT_CODE(dp) ((dp)[0])
</code></pre>
      <pre class="doc-comment"></pre>

      <h4 id="CCP_OPT_LENGTH(dp)">Marco <span>CCP_OPT_LENGTH(dp)</span></h4>
      <pre class="doc-declare"><code>#define CCP_OPT_LENGTH(dp) ((dp)[1])
</code></pre>
      <pre class="doc-comment"></pre>

      <h4 id="CCP_OPT_MINLEN">Marco <span>CCP_OPT_MINLEN</span></h4>
      <pre class="doc-declare"><code>#define CCP_OPT_MINLEN	2
</code></pre>
      <pre class="doc-comment"></pre>

      <h4 id="CI_BSD_COMPRESS">Marco <span>CI_BSD_COMPRESS</span></h4>
      <pre class="doc-declare"><code>#define CI_BSD_COMPRESS	21 /* config. option for BSD-Compress */
</code></pre>
      <pre class="doc-comment"></pre>

      <h4 id="CILEN_BSD_COMPRESS">Marco <span>CILEN_BSD_COMPRESS</span></h4>
      <pre class="doc-declare"><code>#define CILEN_BSD_COMPRESS 3 /* length of config. option */
</code></pre>
      <pre class="doc-comment"></pre>

      <h4 id="BSD_NBITS(x)">Marco <span>BSD_NBITS(x)</span></h4>
      <pre class="doc-declare"><code>#define BSD_NBITS(x)	((x) & 31) /* number of bits requested */
</code></pre>
      <pre class="doc-comment">/* Macros for handling the 3rd byte of the BSD-Compress config option. */</pre>

      <h4 id="BSD_VERSION(x)">Marco <span>BSD_VERSION(x)</span></h4>
      <pre class="doc-declare"><code>#define BSD_VERSION(x)	((x) >> 5) /* version of option format */
</code></pre>
      <pre class="doc-comment"></pre>

      <h4 id="BSD_CURRENT_VERSION">Marco <span>BSD_CURRENT_VERSION</span></h4>
      <pre class="doc-declare"><code>#define BSD_CURRENT_VERSION 1	/* current version number */
</code></pre>
      <pre class="doc-comment"></pre>

      <h4 id="BSD_MAKE_OPT(v, n)">Marco <span>BSD_MAKE_OPT(v, n)</span></h4>
      <pre class="doc-declare"><code>#define BSD_MAKE_OPT(v, n) (((v) << 5) | (n))
</code></pre>
      <pre class="doc-comment"></pre>

      <h4 id="BSD_MIN_BITS">Marco <span>BSD_MIN_BITS</span></h4>
      <pre class="doc-declare"><code>#define BSD_MIN_BITS	9 /* smallest code size supported */
</code></pre>
      <pre class="doc-comment"></pre>

      <h4 id="BSD_MAX_BITS">Marco <span>BSD_MAX_BITS</span></h4>
      <pre class="doc-declare"><code>#define BSD_MAX_BITS	15 /* largest code size supported */
</code></pre>
      <pre class="doc-comment"></pre>

      <h4 id="CI_DEFLATE">Marco <span>CI_DEFLATE</span></h4>
      <pre class="doc-declare"><code>#define CI_DEFLATE	26 /* config option for Deflate */
</code></pre>
      <pre class="doc-comment"></pre>

      <h4 id="CI_DEFLATE_DRAFT">Marco <span>CI_DEFLATE_DRAFT</span></h4>
      <pre class="doc-declare"><code>#define CI_DEFLATE_DRAFT 24 /* value used in original draft RFC */
</code></pre>
      <pre class="doc-comment"></pre>

      <h4 id="CILEN_DEFLATE">Marco <span>CILEN_DEFLATE</span></h4>
      <pre class="doc-declare"><code>#define CILEN_DEFLATE	4 /* length of its config option */
</code></pre>
      <pre class="doc-comment"></pre>

      <h4 id="DEFLATE_MIN_SIZE">Marco <span>DEFLATE_MIN_SIZE</span></h4>
      <pre class="doc-declare"><code>#define DEFLATE_MIN_SIZE 9
</code></pre>
      <pre class="doc-comment"></pre>

      <h4 id="DEFLATE_MAX_SIZE">Marco <span>DEFLATE_MAX_SIZE</span></h4>
      <pre class="doc-declare"><code>#define DEFLATE_MAX_SIZE 15
</code></pre>
      <pre class="doc-comment"></pre>

      <h4 id="DEFLATE_METHOD_VAL">Marco <span>DEFLATE_METHOD_VAL</span></h4>
      <pre class="doc-declare"><code>#define DEFLATE_METHOD_VAL 8
</code></pre>
      <pre class="doc-comment"></pre>

      <h4 id="DEFLATE_SIZE(x)">Marco <span>DEFLATE_SIZE(x)</span></h4>
      <pre class="doc-declare"><code>#define DEFLATE_SIZE(x)	(((x) >> 4) + 8)
</code></pre>
      <pre class="doc-comment"></pre>

      <h4 id="DEFLATE_METHOD(x)">Marco <span>DEFLATE_METHOD(x)</span></h4>
      <pre class="doc-declare"><code>#define DEFLATE_METHOD(x) ((x) & 15)
</code></pre>
      <pre class="doc-comment"></pre>

      <h4 id="DEFLATE_MAKE_OPT(w)">Marco <span>DEFLATE_MAKE_OPT(w)</span></h4>
      <pre class="doc-declare"><code>#define DEFLATE_MAKE_OPT(w) ((((w) - 8) << 4) + DEFLATE_METHOD_VAL)
</code></pre>
      <pre class="doc-comment"></pre>

      <h4 id="DEFLATE_CHK_SEQUENCE">Marco <span>DEFLATE_CHK_SEQUENCE</span></h4>
      <pre class="doc-declare"><code>#define DEFLATE_CHK_SEQUENCE 0
</code></pre>
      <pre class="doc-comment"></pre>

      <h4 id="CI_MPPE">Marco <span>CI_MPPE</span></h4>
      <pre class="doc-declare"><code>#define CI_MPPE               18     /* config option for MPPE */
</code></pre>
      <pre class="doc-comment"></pre>

      <h4 id="CILEN_MPPE">Marco <span>CILEN_MPPE</span></h4>
      <pre class="doc-declare"><code>#define CILEN_MPPE             6     /* length of config option */
</code></pre>
      <pre class="doc-comment"></pre>

      <h4 id="CI_PREDICTOR_1">Marco <span>CI_PREDICTOR_1</span></h4>
      <pre class="doc-declare"><code>#define CI_PREDICTOR_1	1 /* config option for Predictor-1 */
</code></pre>
      <pre class="doc-comment"></pre>

      <h4 id="CILEN_PREDICTOR_1">Marco <span>CILEN_PREDICTOR_1</span></h4>
      <pre class="doc-declare"><code>#define CILEN_PREDICTOR_1 2 /* length of its config option */
</code></pre>
      <pre class="doc-comment"></pre>

      <h4 id="CI_PREDICTOR_2">Marco <span>CI_PREDICTOR_2</span></h4>
      <pre class="doc-declare"><code>#define CI_PREDICTOR_2	2 /* config option for Predictor-2 */
</code></pre>
      <pre class="doc-comment"></pre>

      <h4 id="CILEN_PREDICTOR_2">Marco <span>CILEN_PREDICTOR_2</span></h4>
      <pre class="doc-declare"><code>#define CILEN_PREDICTOR_2 2 /* length of its config option */
</code></pre>
      <pre class="doc-comment"></pre>
      <h3 id="functions">Functions</h3>
      

      <h4 id="ccp_resetrequest">Func <span>ccp_resetrequest</span></h4>
      <pre class="doc-declare"><code>void ccp_resetrequest(ppp_pcb *pcb);</code></pre>
      <pre class="doc-comment"></pre>
      <h3 id="vars">Vars</h3>
      
      <h3 id="consts">Consts</h3>
      
      <h3 id="types">Types</h3>
      
      <h3 id="typedefs">Typedefs</h3>
      

      <h4 id="ccp_options;
">Typedef <span>ccp_options;
</span></h4>
      <pre class="doc-declare"><code>typedef struct ccp_options {
#if DEFLATE_SUPPORT
   unsigned int deflate         :1; /* do Deflate? */
   unsigned int deflate_correct :1; /* use correct code for deflate? */
   unsigned int deflate_draft   :1; /* use draft RFC code for deflate? */
#endif /* DEFLATE_SUPPORT */
#if BSDCOMPRESS_SUPPORT
   unsigned int bsd_compress    :1; /* do BSD Compress? */
#endif /* BSDCOMPRESS_SUPPORT */
#if PREDICTOR_SUPPORT
   unsigned int predictor_1     :1; /* do Predictor-1? */
   unsigned int predictor_2     :1; /* do Predictor-2? */
#endif /* PREDICTOR_SUPPORT */

#if MPPE_SUPPORT
   u8_t mppe;		/* MPPE bitfield */
#endif /* MPPE_SUPPORT */
#if BSDCOMPRESS_SUPPORT
   u_short bsd_bits;	/* # bits/code for BSD Compress */
#endif /* BSDCOMPRESS_SUPPORT */
#if DEFLATE_SUPPORT
   u_short deflate_size; /* lg(window size) for Deflate */
#endif /* DEFLATE_SUPPORT */
   u8_t method;	/* code for chosen compression method */
} ccp_options;
</code></pre>
      <pre class="doc-comment"></pre>
    </div>
  </body>
</html>
            